package com.dev.bbs.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.dev.bbs.domain.BbsArticle;
import com.dev.common.core.dao.BaseMapper;

/**
 * 社区文章Mapper接口
 * 
 * @author ruoyi
 * @date 2019-09-17
 */
public interface BbsArticleMapper extends BaseMapper<BbsArticle>
{
    /**
     * 查询社区文章
     * 
     * @param id 社区文章ID
     * @return 社区文章
     */
    public BbsArticle selectBbsArticleById(Long id);

    /**
     * 查询社区文章列表
     * 
     * @param bbsArticle 社区文章
     * @return 社区文章集合
     */
    public List<BbsArticle> selectBbsArticleList(BbsArticle bbsArticle);

    /**
     * 新增社区文章
     * 
     * @param bbsArticle 社区文章
     * @return 结果
     */
    public int insertBbsArticle(BbsArticle bbsArticle);

    /**
     * 修改社区文章
     * 
     * @param bbsArticle 社区文章
     * @return 结果
     */
    public int updateBbsArticle(BbsArticle bbsArticle);

    /**
     * 删除社区文章  物理删除
     * 
     * @param id 社区文章ID
     * @return 结果
     */
    public int deleteBbsArticleById(Long id);

    /**
     * 删除社区文章 逻辑删除
     * 
     * @param bbsArticle 社区文章
     * @return 结果
     */
    public int logicDeleteArticle(BbsArticle bbsArticle);

    /**
     * 批量删除社区文章
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBbsArticleByIds(String[] ids);

    /**
     * 浏览数+1
     * @param id 帖子编号
     * @return
     * @author zmr
     */
    public boolean view(long id);

    /**
     * 帖子评论数+num
     * @param id
     * @param num
     * @return
     * @author zmr
     */
    public int addComment(@Param(value = "id") long id, @Param(value = "num") int num);
}
